package com.shujia.wyh.day13.ketang;

/*
        1、一个类如果没有抽象方法，可不可以定义为抽象类?如果可以，有什么意义?
            一个抽象类可以没有抽象方法，意义是什么？
            如果说有一堆东西，他们都有共同的概念，这写概念本身在现实生活中是没有办法看得见摸得着的，我们把这些概念用一个类来概括
            ，这个类中没有抽象方法，仅表示这一堆东西共同的概念，而这个类本身也没有办法创建对象，所以定义为抽象类。

            抽象类中有没有方法，是由什么决定的？
            却决于这么一堆东西有没有共同的行为，如果他们之间仅仅只是存在着共同本质，但是没有共同的行为，在现实生活中也是合情合理的。
            1、抽象类中可以没有抽象方法
            2、不能创建对象

       2、abstract不能和哪些关键字共存
            private	冲突
            final	冲突
            static	冲突
 */
abstract class Fu{
    //java: 非法的修饰符组合: abstract和private
//    private abstract void show();

    //java: 非法的修饰符组合: abstract和final
//    final abstract void show2();

    //java: 非法的修饰符组合: abstract和static
//    static abstract void show3();

    public static void show4(){
        System.out.println("这是抽象父类中静态的方法");
    }
}

class Zi extends Fu{
    public static void show4(){
        System.out.println("这是具体子类中的show4方法");
    }
}


public class AbstractDemo4 {
    public static void main(String[] args) {
//        Fu.show4();
//        Fu f = new Zi();
//        f.show4();
        Zi.show4();

    }
}
